//      // verilator_coverage annotation
        `timescale 1ns/1ps
        // 计数器模块（DUT）
        `include "counter_props.sv"
        module counter (
 000203     input  logic       clk,    // 时钟
%000001     input  logic       rst_n,  // 异步复位（低有效）
 000027     input  logic       en,     // 使能信号
~000050     output logic [3:0] cnt,    // 计数值（4位）
%000006     output logic       ovf     // 溢出标志（计数到15时拉高）
        );
        
 000102 always_ff @(posedge clk or negedge rst_n) begin
~000101     if (!rst_n) begin
%000001         cnt <= 4'h0;
%000001         ovf <= 1'b0;
 000051     end else if (en) begin
~000047         if (cnt == 4'hF) begin
%000003             cnt <= 4'h0;
%000003             ovf <= 1'b1;
 000047         end else begin
 000047             cnt <= cnt + 1'b1;
 000047             ovf <= 1'b0;
                end
 000051     end else begin
 000051         ovf <= 1'b0;
            end
        end
        
        counter_props props(.*);
        
        endmodule
